package com.csun.dsms.model.enums;

import java.util.Arrays;
import java.util.List;

/**
 * @author chisj chisj@foxmail.com
 * @version 1.0.0
 * @date 2021-09-15 17:36
 * @description: TODO
 */
public enum UserTypeEnum {

    /**
     * 运营
     */
    OPERATE("1000", "运营"),

    /**
     * 机构员工
     */
    GROUP_EMP("2000", "机构员工"),

    /**
     * 志愿者
     */
    VOLUNTEER_EMP("3000", "志愿者"),

    /*
     * 服务人员
     * */
    STAFF_EMP("4000", "服务人员"),
    ;

    /**
     * The Key.
     */
    String key;
    /**
     * The Value.
     */
    String value;

    UserTypeEnum(String key, String value) {
        this.key = key;
        this.value = value;
    }

    /**
     * Gets key.
     *
     * @return the key
     */
    public String getKey() {
        return key;
    }

    /**
     * Gets value.
     *
     * @return the value
     */
    public String getValue() {
        return value;
    }

    /**
     * 获取key获取value
     *
     * @param key key
     *
     * @return value value
     */
    public static String getValue(String key) {
        for (UserTypeEnum ele : UserTypeEnum.values()) {
            if (key.equals(ele.getKey())) {
                return ele.getValue();
            }
        }
        return null;
    }

    /**
     * 根据key获取该对象
     *
     * @param key key
     *
     * @return this enum
     */
    public static UserTypeEnum getEnum(String key) {
        for (UserTypeEnum ele : UserTypeEnum.values()) {
            if (key.equals(ele.getKey())) {
                return ele;
            }
        }
        return null;
    }

    /**
     * 获取List集合
     *
     * @return List list
     */
    public static List<UserTypeEnum> getList() {
        return Arrays.asList(UserTypeEnum.values());
    }
}
